home *** CD-ROM | disk | FTP | other *** search
- ; GRAPHICS MODE FOR C FUNCTION
- ; GRAPHICS MAP PIXEL ROUTINE
-
- name gmap
- ; int gmap(xint, yint);
- ; On return extern gaddr is the offset and gmask
- ; is the pixel bit mask (flavor: unsigned char)
-
-
- public _gmap, _gmask, _gaddr, _gmap2
-
- DGROUP group _DATA
- assume ds:DGROUP
-
- _DATA segment word public 'DATA'
- gx1 dw 0
- gy1 dw 0
- _gaddr dw 0000
- _gmask db 80h
- _DATA ends
-
- _TEXT segment byte public 'CODE'
- assume cs:_TEXT
-
- _gmap proc near
- push bp
- mov bp, sp
- mov cx, [bp+4]
- mov dx, [bp+6]
- call _gmap2
- mov sp, bp
- pop bp
- mov ax, _gaddr
- ret
- _gmap endp
-
- _gmap2 proc near
- mov gx1, cx
- mov ax, dx
- mov bx, ax
- and bx, 3
- ror bx, 1
- ror bx, 1
- ror bx, 1
- shr ax, 1
- shr ax, 1
- mov cx, 005ah
- mul cx
- add bx, ax
- mov ax, gx1
- shr ax, 1
- shr ax, 1
- shr ax, 1
- add bx, ax
- mov _gaddr, bx
- mov al, 80h
- mov cx, gx1
- and cl, 07
- shr al, cl
- mov _gmask, al
- ret
- _gmap2 endp
-
- _TEXT ends
- end
-
-